
<!DOCTYPE HTML>
<html lang="" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>i386手册勘误 · GitBook</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        
        
        
    
    <link rel="stylesheet" href="gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-page-footer-ex/style/plugin.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-highlight/website.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-search/search.css">
                
            
                
                <link rel="stylesheet" href="gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
        <link rel="stylesheet" href="styles.css">
        
    
        
    

        
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="exec.html" />
    
    
    <link rel="prev" href="i386-intro.html" />
    

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="Type to search" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    

    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="./">
            
                <a href="./">
            
                    
                    Introduction
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="PA0.html">
            
                <a href="PA0.html">
            
                    
                    PA0 - 世界诞生的前夜: 开发环境配置
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1" data-path="0.1.html">
            
                <a href="0.1.html">
            
                    
                    Installing a GNU/Linux VM
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2" data-path="0.2.html">
            
                <a href="0.2.html">
            
                    
                    First Exploration with GNU/Linux
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3" data-path="0.3.html">
            
                <a href="0.3.html">
            
                    
                    Installing Tools
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.4" data-path="0.4.html">
            
                <a href="0.4.html">
            
                    
                    Configuring vim
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.5" data-path="0.5.html">
            
                <a href="0.5.html">
            
                    
                    More Exploration
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.6" data-path="0.6.html">
            
                <a href="0.6.html">
            
                    
                    Transferring Files between host and container
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.7" data-path="0.7.html">
            
                <a href="0.7.html">
            
                    
                    Acquiring Source Code for PAs
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="PA1.html">
            
                <a href="PA1.html">
            
                    
                    PA1 - 开天辟地的篇章: 最简单的计算机
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="1.1.html">
            
                <a href="1.1.html">
            
                    
                    在开始愉快的PA之旅之前
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="1.2.html">
            
                <a href="1.2.html">
            
                    
                    开天辟地的篇章
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.3" data-path="1.3.html">
            
                <a href="1.3.html">
            
                    
                    RTFSC
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.4" data-path="1.4.html">
            
                <a href="1.4.html">
            
                    
                    基础设施
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.5" data-path="1.5.html">
            
                <a href="1.5.html">
            
                    
                    表达式求值
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.6" data-path="1.6.html">
            
                <a href="1.6.html">
            
                    
                    监视点
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.7" data-path="1.7.html">
            
                <a href="1.7.html">
            
                    
                    i386手册
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="PA2.html">
            
                <a href="PA2.html">
            
                    
                    PA2 - 简单复杂的机器: 冯诺依曼计算机系统
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="2.1.html">
            
                <a href="2.1.html">
            
                    
                    不停计算的机器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="2.2.html">
            
                <a href="2.2.html">
            
                    
                    RTFSC(2)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="2.3.html">
            
                <a href="2.3.html">
            
                    
                    程序, 运行时环境与AM
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="2.4.html">
            
                <a href="2.4.html">
            
                    
                    基础设施(2)
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="2.5.html">
            
                <a href="2.5.html">
            
                    
                    输入输出
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="PA3.html">
            
                <a href="PA3.html">
            
                    
                    PA3 - 穿越时空的旅程: 异常控制流
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.5.1" data-path="3.1.html">
            
                <a href="3.1.html">
            
                    
                    更方便的运行时环境
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="3.2.html">
            
                <a href="3.2.html">
            
                    
                    等级森严的制度
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.3" data-path="3.3.html">
            
                <a href="3.3.html">
            
                    
                    穿越时空的旅程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.4" data-path="3.4.html">
            
                <a href="3.4.html">
            
                    
                    文件系统
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.5" data-path="3.5.html">
            
                <a href="3.5.html">
            
                    
                    一切皆文件
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="PA4.html">
            
                <a href="PA4.html">
            
                    
                    PA4 - 虚实交错的魔法: 分时多任务
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="4.1.html">
            
                <a href="4.1.html">
            
                    
                    虚实交错的魔法
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="4.2.html">
            
                <a href="4.2.html">
            
                    
                    超越容量的界限
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.3" data-path="4.3.html">
            
                <a href="4.3.html">
            
                    
                    分时多任务
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.4" data-path="4.4.html">
            
                <a href="4.4.html">
            
                    
                    来自外部的声音
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.5" data-path="4.5.html">
            
                <a href="4.5.html">
            
                    
                    编写不朽的传奇
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="PA5.html">
            
                <a href="PA5.html">
            
                    
                    PA5 - 从一到无穷大: 程序与性能
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="5.1.html">
            
                <a href="5.1.html">
            
                    
                    浮点数的支持
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2" data-path="5.2.html">
            
                <a href="5.2.html">
            
                    
                    通往高速的次元
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.3" data-path="5.3.html">
            
                <a href="5.3.html">
            
                    
                    天下武功唯快不破
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="blank.html">
            
                <a href="blank.html">
            
                    
                    杂项
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="why.html">
            
                <a href="why.html">
            
                    
                    为什么要学习计算机系统基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="submit.html">
            
                <a href="submit.html">
            
                    
                    实验提交要求
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.3" data-path="linux.html">
            
                <a href="linux.html">
            
                    
                    Linux入门教程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.4" data-path="man.html">
            
                <a href="man.html">
            
                    
                    man入门教程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.5" data-path="git.html">
            
                <a href="git.html">
            
                    
                    git入门教程
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.6" data-path="i386-intro.html">
            
                <a href="i386-intro.html">
            
                    
                    i386手册指令集阅读指南
            
                </a>
            

            
        </li>
    
        <li class="chapter active" data-level="1.8.7" data-path="i386-typo.html">
            
                <a href="i386-typo.html">
            
                    
                    i386手册勘误
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.8" data-path="exec.html">
            
                <a href="exec.html">
            
                    
                    指令执行例子
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            Published with GitBook
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href="." >i386手册勘误</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <h1 id="i386&#x624B;&#x518C;&#x52D8;&#x8BEF;">i386&#x624B;&#x518C;&#x52D8;&#x8BEF;</h1>
<h4 id="1721-modrm-and-sib-bytes&#x4E2D;&#x7684;table-17-3">17.2.1 ModR/M and SIB Bytes&#x4E2D;&#x7684;Table 17-3:</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 disp8[EDX]           010   42    4A    52    5A    62    6A    72    7A
<span class="hljs-deletion">-disp8[EPX]           011   43    4B    53    5B    63    6B    73    7B</span>
<span class="hljs-addition">+disp8[EBX]           011   43    4B    53    5B    63    6B    73    7B</span>
</code></pre>
<h4 id="1721-modrm-and-sib-bytes&#x4E2D;&#x7684;table-17-4">17.2.1 ModR/M and SIB Bytes&#x4E2D;&#x7684;Table 17-4:</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
    Base =                   0     1     2     3     4     5     6     7
<span class="hljs-deletion">-   r32                      EAX   ECX   EDX   EBX   ESP   EBP   ESI   EDI</span>
<span class="hljs-addition">+   r32                      EAX   ECX   EDX   EBX   ESP   [*]   ESI   EDI</span>
@@ -?,2 +?,2 @@
 [ECX*2]              001    48    49    4A    4B    4C    4D    4E    4F
<span class="hljs-deletion">-[ECX*2]              010    50    51    52    53    54    55    56    57</span>
<span class="hljs-addition">+[EDX*2]              010    50    51    52    53    54    55    56    57</span>
@@ -?,2 +?,2 @@
 [EDX*4]              010    90    91    92    93    94    95    96    97
<span class="hljs-deletion">-[EBX*4]              011    98    89    9A    9B    9C    9D    9E    9F</span>
<span class="hljs-addition">+[EBX*4]              011    98    99    9A    9B    9C    9D    9E    9F</span>
@@ -?,2 +?,2 @@
 NOTES:
<span class="hljs-deletion">-  [*] means a disp32 with no base if MOD is 00, [ESP] otherwise. This provides the following addressing modes:</span>
<span class="hljs-addition">+  [*] means a disp32 with no base if MOD is 00. Otherwise, [*] means disp8[EBP] or disp32[EBP]. This provides the following addressing modes:</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;dec----decrement-by-1">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;DEC -- Decrement by 1</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 FF /1     DEC r/m16          2/6      Decrement r/m word by 1
<span class="hljs-deletion">-          DEC r/m32          2/6      Decrement r/m dword by 1</span>
<span class="hljs-addition">+FF /1     DEC r/m32          2/6      Decrement r/m dword by 1</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;inc----increment-by-1">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;INC -- Increment by 1</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 FF  /0      INC r/m16                      Increment r/m word by 1
<span class="hljs-deletion">-FF  /6      INC r/m32                      Increment r/m dword by 1</span>
<span class="hljs-addition">+FF  /0      INC r/m32                      Increment r/m dword by 1</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;jcc----jump-if-condition-is-met">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;Jcc -- Jump if Condition is Met</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 72  cb         JB rel8           7+m,3    Jump short if below (CF=1)
<span class="hljs-deletion">-76  cb         JBE rel8          7+m,3    Jump short if below or (CF=1 or ZF=1)</span>
<span class="hljs-addition">+76  cb         JBE rel8          7+m,3    Jump short if below or equal (CF=1 or ZF=1)</span>
@@ -?,2 +?,2 @@
 7C  cb         JL rel8           7+m,3    Jump short if less (SF!=OF)
<span class="hljs-deletion">-7E  cb         JLE rel8          7+m,3    Jump short if less or equal (ZF=1 and SF!=OF)</span>
<span class="hljs-addition">+7E  cb         JLE rel8          7+m,3    Jump short if less or equal (ZF=1 or SF!=OF)</span>
@@ -?,2 +?,2 @@
 0F  8C cw/cd   JL rel16/32       7+m,3    Jump near if less (SF!=OF)
<span class="hljs-deletion">-0F  8E cw/cd   JLE rel16/32      7+m,3    Jump near if less or equal (ZF=1 and SF!=OF)</span>
<span class="hljs-addition">+0F  8E cw/cd   JLE rel16/32      7+m,3    Jump near if less or equal (ZF=1 or SF!=OF)</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;mov----move-data">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;MOV -- Move Data</h4>
<pre><code class="lang-diff">@@ -?,14 +?,14 @@
 8C  /r       MOV r/m16,Sreg    2/2           Move segment register to r/m word
<span class="hljs-deletion">-8D  /r       MOV Sreg,r/m16    2/5,pm=18/19  Move r/m word to segment register</span>
<span class="hljs-addition">+8E  /r       MOV Sreg,r/m16    2/5,pm=18/19  Move r/m word to segment register</span>
 A0           MOV AL,moffs8     4             Move byte at (seg:offset) to AL
 A1           MOV AX,moffs16    4             Move word at (seg:offset) to AX
 A1           MOV EAX,moffs32   4             Move dword at (seg:offset) to EAX
 A2           MOV moffs8,AL     2             Move AL to (seg:offset)
 A3           MOV moffs16,AX    2             Move AX to (seg:offset)
 A3           MOV moffs32,EAX   2             Move EAX to (seg:offset)
<span class="hljs-deletion">-B0 + rb      MOV reg8,imm8     2             Move immediate byte to register</span>
<span class="hljs-deletion">-B8 + rw      MOV reg16,imm16   2             Move immediate word to register</span>
<span class="hljs-deletion">-B8 + rd      MOV reg32,imm32   2             Move immediate dword to register</span>
<span class="hljs-deletion">-Ciiiiii      MOV r/m8,imm8     2/2           Move immediate byte to r/m byte</span>
<span class="hljs-deletion">-C7           MOV r/m16,imm16   2/2           Move immediate word to r/m word</span>
<span class="hljs-deletion">-C7           MOV r/m32,imm32   2/2           Move immediate dword to r/m dword</span>
<span class="hljs-addition">+B0 + rb ib   MOV reg8,imm8     2             Move immediate byte to register</span>
<span class="hljs-addition">+B8 + rw iw   MOV reg16,imm16   2             Move immediate word to register</span>
<span class="hljs-addition">+B8 + rd id   MOV reg32,imm32   2             Move immediate dword to register</span>
<span class="hljs-addition">+C6 ib        MOV r/m8,imm8     2/2           Move immediate byte to r/m byte</span>
<span class="hljs-addition">+C7 iw        MOV r/m16,imm16   2/2           Move immediate word to r/m word</span>
<span class="hljs-addition">+C7 id        MOV r/m32,imm32   2/2           Move immediate dword to r/m dword</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;mul----unsigned-multiplication-of-al-or-ax">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;MUL -- Unsigned Multiplication of AL or AX</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 Flags Affected
<span class="hljs-deletion">-OF and CF as described above; SF, ZF, AF, PF, and CF are undefined</span>
<span class="hljs-addition">+OF and CF as described above; SF, ZF, AF, PF are undefined</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;or----logical-inclusive-or">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;OR -- Logical Inclusive OR</h4>
<pre><code class="lang-diff">@@ -?,6 +?,6 @@
 08  /r       OR r/m8,r8        2/6       OR byte register to r/m byte
 09  /r       OR r/m16,r16      2/6       OR word register to r/m word
 09  /r       OR r/m32,r32      2/6       OR dword register to r/m dword
<span class="hljs-deletion">-0A  /r       OR r8,r/m8        2/7       OR byte register to r/m byte</span>
<span class="hljs-deletion">-0B  /r       OR r16,r/m16      2/7       OR word register to r/m word</span>
<span class="hljs-deletion">-0B  /r       OR r32,r/m32      2/7       OR dword register to r/m dword</span>
<span class="hljs-addition">+0A  /r       OR r8,r/m8        2/7       OR r/m byte to byte register</span>
<span class="hljs-addition">+0B  /r       OR r16,r/m16      2/7       OR r/m word to word register</span>
<span class="hljs-addition">+0B  /r       OR r32,r/m32      2/7       OR r/m dword to dword register</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;push----push-operand-onto-the-stack">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;PUSH -- Push Operand onto the Stack</h4>
<pre><code class="lang-diff">@@ -?,3 +?,3 @@
 FF   /6    PUSH m32      5        Push memory dword
<span class="hljs-deletion">-50 + /r    PUSH r16      2        Push register word</span>
<span class="hljs-deletion">-50 + /r    PUSH r32      2        Push register dword</span>
<span class="hljs-addition">+50 + rw    PUSH r16      2        Push register word</span>
<span class="hljs-addition">+50 + rd    PUSH r32      2        Push register dword</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;repreperepzrepnerepnz----repeat-following-string-operation">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;REP/REPE/REPZ/REPNE/REPNZ -- Repeat Following String Operation</h4>
<pre><code class="lang-diff">@@ -?,13 +?,13 @@
    service pending interrupts (if any);
    perform primitive string instruction;
    CountReg &lt;- CountReg - 1;
    IF primitive operation is CMPB, CMPW, SCAB, or SCAW
    THEN
<span class="hljs-deletion">-      IF (instruction is REP/REPE/REPZ) AND (ZF=1)</span>
<span class="hljs-addition">+      IF (instruction is REP/REPE/REPZ) AND (ZF=0)</span>
       THEN exit WHILE loop
       ELSE
<span class="hljs-deletion">-         IF (instruction is REPNZ or REPNE) AND (ZF=0)</span>
<span class="hljs-addition">+         IF (instruction is REPNZ or REPNE) AND (ZF=1)</span>
          THEN exit WHILE loop;
          FI;
       FI;
    FI;
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;sbb----integer-subtraction-with-borrow">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;SBB -- Integer Subtraction with Borrow</h4>
<pre><code class="lang-diff">@@ -?,6 +?,6 @@
 18  /r       SBB r/m8,r8       2/6     Subtract with borrow byte register from r/m byte
 19  /r       SBB r/m16,r16     2/6     Subtract with borrow word register from r/m word
 19  /r       SBB r/m32,r32     2/6     Subtract with borrow dword register from r/m dword
<span class="hljs-deletion">-1A  /r       SBB r8,r/m8       2/7     Subtract with borrow byte register from r/m byte</span>
<span class="hljs-deletion">-1B  /r       SBB r16,r/m16     2/7     Subtract with borrow word register from r/m word</span>
<span class="hljs-deletion">-1B  /r       SBB r32,r/m32     2/7     Subtract with borrow dword register from r/m dword</span>
<span class="hljs-addition">+1A  /r       SBB r8,r/m8       2/7     Subtract with borrow r/m byte from byte register</span>
<span class="hljs-addition">+1B  /r       SBB r16,r/m16     2/7     Subtract with borrow r/m word from word register</span>
<span class="hljs-addition">+1B  /r       SBB r32,r/m32     2/7     Subtract with borrow r/m dword from dword register</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;setcc---byte-set-on-condition">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;SETcc - Byte Set on Condition</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 0F  94   SETE r/m8    4/5     Set byte if equal (ZF=1)
<span class="hljs-deletion">-0F  9F   SETG r/m8    4/5     Set byte if greater (ZF=0 or SF=OF)</span>
<span class="hljs-addition">+0F  9F   SETG r/m8    4/5     Set byte if greater (ZF=0 and SF=OF)</span>
@@ -?,3 +?,3 @@
 0F  9C   SETLE r/m8   4/5     Set byte if less (SF!=OF)
<span class="hljs-deletion">-0F  9E   SETLE r/m8   4/5     Set byte if less or equal (ZF=1 and SF!=OF)</span>
<span class="hljs-deletion">-0F  96   SETNA r/m8   4/5     Set byte if not above (CF=1)</span>
<span class="hljs-addition">+0F  9E   SETLE r/m8   4/5     Set byte if less or equal (ZF=1 or SF!=OF)</span>
<span class="hljs-addition">+0F  96   SETNA r/m8   4/5     Set byte if not above (CF=1 or ZF=1)</span>
@@ -?,2 +?,2 @@
 0F  9D   SETNL r/m8   4/5     Set byte if not less (SF=OF)
<span class="hljs-deletion">-0F  9F   SETNLE r/m8  4/5     Set byte if not less or equal (ZF=1 and SF!=OF)</span>
<span class="hljs-addition">+0F  9F   SETNLE r/m8  4/5     Set byte if not less or equal (ZF=0 and SF=OF)</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;shld----double-precision-shift-left">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;SHLD -- Double Precision Shift Left</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 Flags Affected
<span class="hljs-deletion">-OF, SF, ZF, PF, and CF as described above; AF and OF are undefined</span>
<span class="hljs-addition">+SF, ZF, PF, and CF as described above; AF and OF are undefined</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;shlr----double-precision-shift-right">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;SHLR -- Double Precision Shift Right</h4>
<pre><code class="lang-diff">@@ -?,2 +?,2 @@
 Flags Affected
<span class="hljs-deletion">-OF, SF, ZF, PF, and CF as described above; AF and OF are undefined</span>
<span class="hljs-addition">+SF, ZF, PF, and CF as described above; AF and OF are undefined</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;sub---integer-subtraction">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;SUB - Integer Subtraction</h4>
<pre><code class="lang-diff">@@ -?,6 +?,6 @@
 28  /r      SUB r/m8,r8      2/6      Subtract byte register from r/m byte
 29  /r      SUB r/m16,r16    2/6      Subtract word register from r/m word
 29  /r      SUB r/m32,r32    2/6      Subtract dword register from r/m dword
<span class="hljs-deletion">-2A  /r      SUB r8,r/m8      2/7      Subtract byte register from r/m byte</span>
<span class="hljs-deletion">-2B  /r      SUB r16,r/m16    2/7      Subtract word register from r/m word</span>
<span class="hljs-deletion">-2B  /r      SUB r32,r/m32    2/7      Subtract dword register from r/m dword</span>
<span class="hljs-addition">+2A  /r      SUB r8,r/m8      2/7      Subtract r/m byte from byte register</span>
<span class="hljs-addition">+2B  /r      SUB r16,r/m16    2/7      Subtract r/m word from word register</span>
<span class="hljs-addition">+2B  /r      SUB r32,r/m32    2/7      Subtract r/m dword from dword register</span>
</code></pre>
<h4 id="172211-instruction-set-detail&#x4E2D;&#x7684;xor---logical-exclusive-or">17.2.2.11 Instruction Set Detail&#x4E2D;&#x7684;XOR - Logical Exclusive OR</h4>
<pre><code class="lang-diff">@@ -?,6 +?,6 @@
 30  /r      XOR r/m8,r8      2/6      Exclusive-OR byte register to r/m byte
 31  /r      XOR r/m16,r16    2/6      Exclusive-OR word register to r/m word
 31  /r      XOR r/m32,r32    2/6      Exclusive-OR dword register to r/m dword
<span class="hljs-deletion">-32  /r      XOR r8,r/m8      2/7      Exclusive-OR byte register to r/m byte</span>
<span class="hljs-deletion">-33  /r      XOR r16,r/m16    2/7      Exclusive-OR word register to r/m word</span>
<span class="hljs-deletion">-33  /r      XOR r32,r/m32    2/7      Exclusive-OR dword register to r/m dword</span>
<span class="hljs-addition">+32  /r      XOR r8,r/m8      2/7      Exclusive-OR r/m byte to byte register</span>
<span class="hljs-addition">+33  /r      XOR r16,r/m16    2/7      Exclusive-OR r/m word to word register</span>
<span class="hljs-addition">+33  /r      XOR r32,r/m32    2/7      Exclusive-OR r/m dword to dword register</span>
</code></pre>
<footer class="page-footer-ex"> <span class="page-footer-ex-copyright"> By <a href="https://sashimi-yzh.github.io/" target="_blank">Zihao Yu</a>, &#x91C7;&#x7528;<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/cn/" target="_blank">&#x77E5;&#x8BC6;&#x5171;&#x4EAB; &#x7F72;&#x540D;-&#x975E;&#x5546;&#x4E1A;&#x6027;&#x4F7F;&#x7528;-&#x76F8;&#x540C;&#x65B9;&#x5F0F;&#x5171;&#x4EAB; 3.0 &#x4E2D;&#x56FD;&#x5927;&#x9646; &#x8BB8;&#x53EF;&#x534F;&#x8BAE;</a>&#x53D1;&#x5E03; </span> &#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0; <span class="page-footer-ex-footer-update"> &#x6B64;&#x9875;&#x9762;&#x4FEE;&#x8BA2;&#x4E8E;:  2019-05-03 18:28:28 </span> </footer>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="i386-intro.html" class="navigation navigation-prev " aria-label="Previous page: i386手册指令集阅读指南">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="exec.html" class="navigation navigation-next " aria-label="Next page: 指令执行例子">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"i386手册勘误","level":"1.8.7","depth":2,"next":{"title":"指令执行例子","level":"1.8.8","depth":2,"path":"exec.md","ref":"exec.md","articles":[]},"previous":{"title":"i386手册指令集阅读指南","level":"1.8.6","depth":2,"path":"i386-intro.md","ref":"i386-intro.md","articles":[]},"dir":"ltr"},"config":{"gitbook":"3.x.x","theme":"default","variables":{},"plugins":["localized-footer","page-footer-ex","nestedmd","mdinhtml"],"pluginsConfig":{"page-footer-ex":{"copyright":"By [Zihao Yu](https://sashimi-yzh.github.io/), 采用[知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议](http://creativecommons.org/licenses/by-nc-sa/3.0/cn/)发布","markdown":true,"update_format":"YYYY-MM-DD HH:mm:ss","update_label":"此页面修订于: "},"mdinhtml":{},"search":{},"localized-footer":{"filename":"FOOTER.md","hline":"true"},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"nestedmd":{},"fontsettings":{"theme":"white","family":"sans","size":2},"highlight":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles.css","pdf":"styles.css"}},"file":{"path":"i386-typo.md","mtime":"2019-05-03T10:28:28.348Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-05-03T10:32:39.784Z"},"basePath":".","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="gitbook/gitbook.js"></script>
    <script src="gitbook/theme.js"></script>
    
        
        <script src="gitbook/gitbook-plugin-search/search-engine.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-search/search.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/lunr.min.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-lunr/search-lunr.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-sharing/buttons.js"></script>
        
    
        
        <script src="gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

